package vip.xiaonuo.facedoor.iservice;

import vip.xiaonuo.facedoor.iservice.entity.PersonBaseParam;
import vip.xiaonuo.facedoor.iservice.entity.PersonBaseParamRet;
import vip.xiaonuo.facedoor.modular.devicebase.entity.DeviceBase;
import vip.xiaonuo.facedoor.modular.memberdevice.entity.MemberDevice;
import vip.xiaonuo.facedoor.modular.memberuser.entity.MemberUser;

public interface IMemberDealWithService {


    Integer SUCCESS = 1;
    Integer FAIL = 2;
    Integer ADD = 1;
    Integer DELETE = 2;
    Integer UPDATE = 3;


    PersonBaseParamRet getBaseParam(PersonBaseParam personBasePerson);

    void deleteException(MemberDevice memberDevice, MemberUser memberUser, DeviceBase deviceBase, Exception e);


    void delete(MemberDevice memberDevice, MemberUser memberUser, PersonBaseParamRet personBaseParamRet, DeviceBase deviceBase) throws Exception;


    void add(MemberDevice memberDevice, MemberUser memberUser, PersonBaseParamRet personBaseParamRet, DeviceBase deviceBase) throws Exception;


    void addException(MemberDevice memberDevice, MemberUser memberUser, DeviceBase deviceBase, Exception e);


    void updateException(MemberDevice memberDevice, MemberUser memberUser, DeviceBase deviceBase, Exception e);


    void update(MemberDevice memberDevice, MemberUser memberUser, PersonBaseParamRet baseParam, DeviceBase deviceBase) throws Exception;
}
